<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
<p>友情提醒：请打开firebug控制台查看输出信息！！！</p>


<script>
  /**
   * 异步操作的流程控制
   *        async()函数是一个异步任务，非常耗时，每次执行需要1秒才能完成，然后再调用回调函数。
   *        如果有6个这样的异步任务，需要全部完成后，才能执行下一步的final函数。
   */
  function async(arg, callback) {
    console.log('参数为 ' + arg + ' , 1秒后返回结果');
    setTimeout(function () {
      callback(arg * 2);
    }, 1000);
  }

  async(1, function (value) {
    async(value, function (value) {
      async(value, function (value) {
        async(value, function (value) {
          async(value, function (value) {
            async(value, finalFuc);
          });
        });
      });
    });
  });
  function finalFuc(value) {
    console.log('Complete: ', value);
  }


</script>
</body>
</html>